#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
class Solution {
public:
    void rotate(vector<int>& nums, int k) {
        if(k>nums.size())
        {
            k%=nums.size();
        }
        //三部翻转法
        //第一步翻转整个数组
        reverse(nums.begin(),nums.end());
        //第二部翻转从开头到k-1位置的数组
        reverse(nums.begin(),nums.begin()+k);
        //最后翻转从k到end位置的数组元素
        reverse(nums.begin()+k,nums.end());
    }
};